using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using Xunit.Sdk;
using System.Linq;

namespace UnitTestProject1
{
    [TestClass]
    public class UnitTest1
    {

        [TestMethod]
        [ExpectedException(typeof(ArgumentException))]
        public void Test_Method6_i_Less_Than_0()
        {
            int i = -5;
            int actual = Group6.Method6(i);

        }


        [TestMethod]
        public void Test_Method6_i_0()
        {
            int i = 0;
            int expected = 1;

            int actual = Group6.Method6(i);
            Assert.AreEqual(expected, actual);
        }


        [TestMethod]
        public void Test_Method6_i_1()
        {
            int i = 1;
            int expected = 1;

            int actual = Group6.Method6(i);
            Assert.AreEqual(expected, actual);
        }


        [TestMethod]
        public void Test_Method6_i_5()
        {
            int i = 5;
            int expected = 120;

            int actual = Group6.Method6(i);
            Assert.AreEqual(expected, actual);
        }


        [TestMethod]
        public void Test_Method14_i_10()
        {
            int i = 10;
            int[] expected = new int[] { 2, 3, 5, 7 };
            int[] actual = Group6.Method14(i);
            Enumerable.SequenceEqual(expected, actual);
        }

        [TestMethod]
        public void Test_Method14_i_20()
        {
            int i = 20;
            int[] expected = new int[] { 2, 3, 5, 7, 11, 13, 17, 19 };
            int[] actual = Group6.Method14(i);
            Enumerable.SequenceEqual(expected, actual);
        }

        [TestMethod]
        [ExpectedException(typeof(ArgumentException))]
        public void Test_Method6_i_Less_Than_2()
        {
            int i = 1;

            int[] actual = Group6.Method14(i);
        }


        [TestMethod]
        [ExpectedException(typeof(ArgumentException))]
        public void Test_Method6_i_More_Than_12()
        {
            int i = 13;

            int actual = Group6.Method6(i);
        }






        [TestMethod]
        [ExpectedException(typeof(Exception))]
        public void Test_Method22_i_More_Than_9()
        {
            int i = 10;

            Group6.Method22(i);
        }


        [TestMethod]
        [ExpectedException(typeof(Exception))]
        public void Test_Method22_i_Less_Than_1()
        {
            int i = 0;
            Group6.Method22(i);
        }
    }
}
